package com.sright.bcard.common.share.service;

import com.alibaba.fastjson.JSONObject;
import com.sright.bcard.common.service.share.dto.common.ContentCheckDTO;
import com.sright.bcard.common.service.share.dto.page.PageDTO;
import com.sright.bcard.common.service.share.dto.page.PageParamRequest;
import com.sright.bcard.common.service.share.dto.common.WechatTemplateDTO;
import com.sright.bcard.common.service.share.dto.common.WxappDTO;
import com.sright.bcard.common.share.request.WechatTemplateDO;
import com.sright.common.response.SrightResponse;

import java.util.Map;

/**
 * 微信小程序service
 */
public interface WxappService {

    /**
     * 获取微信小程序列表
     * @param pageParamRequest
     * @return
     */
    SrightResponse<PageDTO<WxappDTO>> wxappList(PageParamRequest pageParamRequest);

    /**
     * 修改绑定微信小程序状态
     * @param wxappDTO
     * @return
     */
    SrightResponse<Integer> status(WxappDTO wxappDTO);

    /**
     * 删除微信小程序绑定
     * @param id
     * @return
     */
    SrightResponse<Integer> deleteStatus(Long id);

    SrightResponse getEnterpriseWxappInfo(Long enterpriseId);

    SrightResponse createQrCode(String path) throws Exception;

    SrightResponse getInviteCode(Long enterpriseId) throws Exception;

    SrightResponse getPreviewCode(Long userId) throws Exception;

    void sendVisitorTemplateMessage(Map<String, String> map) throws Exception;

    JSONObject wechatLogin(String code);

    ContentCheckDTO checkContent(String content);

    void sendDataStatisticsTemplateMessage(Map<String, String> map) throws Exception;
}
